package cn.trigram.lang;

import java.util.Objects;
import org.apache.commons.beanutils.ConvertUtils;

public class ConvertUtil {

    static {
//        ConvertUtils.register(, );
    }

    /**
     * 转换为字符串<br>
     * 如果给定的值为null，或者转换失败，返回默认值<br>
     * 转换失败不会报错
     *
     * @param value        被转换的值
     * @param defaultValue 转换错误时的默认值
     * @return 结果
     */
    public static String toStr(Object value, String defaultValue) {
        String converted = null;
        try {
            converted = (String) ConvertUtils.convert(value, String.class);
        } catch (Exception ignore) {
        }
        if (Objects.isNull(converted)) {
            return defaultValue;
        }
        return converted;
    }

    /**
     * 转换为字符串<br>
     * 如果给定的值为null，或者转换失败，返回null<br>
     * 转换失败不会报错
     *
     * @param value 被转换的值
     * @return 结果
     */
    public static String toStr(Object value) {
        return toStr(value, null);
    }
}
